package com.jie.langlangmall.service;

import com.jie.langlangmall.dto.*;
import com.jie.langlangmall.model.OmsOrder;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @Author Jie
 * @Date 2024/11/28
 * @Email 3217998214@qq.com
 * @Description 订单管理
 */
public interface OmsOrderService {
    /**
     * 查询订单
     * @param queryParam
     * @param pageSize
     * @param pageNum
     * @return
     */
    List<OmsOrder> list(OmsOrderQueryParam queryParam, Integer pageSize, Integer pageNum);

    /**
     * 订单发货
     * @param deliveryParamList
     */
    void delivery(List<OmsOrderDeliveryParam> deliveryParamList);

    /**
     * 关闭订单
     * @param ids
     * @param note
     */
    @Transactional
    void close(List<Long> ids, String note);

    /**
     * 删除订单
     * @param ids
     */
    void delete(List<Long> ids);

    /**
     * 获取订单详情
     * @param id
     * @return
     */
    OmsOrderDetail detail(Long id);

    /**
     * 修改收货人信息
     * @param receiverInfoParam
     */
    void updateReceiverInfo(OmsReceiverInfoParam receiverInfoParam);

    /**
     * 修改费用信息
     * @param moneyInfoParam
     */
    @Transactional
    void updateMoneyInfo(OmsMoneyInfoParam moneyInfoParam);

    @Transactional
    void updateNote(Long id, String note, Integer status);
}
